home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / MacWT 0.9 / Read Me First! < prev   
Encoding:
Text File  |  1995-10-24  |  13.0 KB  |  186 lines  |  [TEXT/ttxt]

  1. MacWT 0.9
  2. A 3-D Graphics Engine for 680x0 or PowerPC Macintoshes
  3.  
  4. Thank you for trying MacWT, by Bill Hayden and Nikol Software.
  5.  
  6.  
  7. What is MacWT?
  8. MacWT is an easy-to-use real-time 3-D graphics engine, based on the cross-platform wt engine originally developed by Chris Laurel.  MacWT was built from a base of wt 0.05c1.  The first version of MacWT was created by Turlough O'Connor in early 1994.  While the current MacWT was inspired by Mr. O'Connor's MacWT 0.04, very little of the original code remains.
  9.  
  10. MacWT has been tested on the following computers:
  11. Macintosh IIsi
  12. Macintosh IIci
  13. Macintosh IIcx
  14. Quadra 840av
  15. Quadra 650 w/PowerPC 601 upgrade card
  16. PowerMac 6100/60
  17. PowerMac 7100/66
  18. PowerMac 7200/90
  19. PowerMac 8100/80
  20.  
  21. What is required to run MacWT?
  22. MacWT needs at least a 68020-based Macintosh, and runs native on the PowerMac.  MacWT requires at least 1000k to run, and prefers 2500k or more with larger world files.  MacWT requires System 7 or above.
  23.  
  24. How do I move around the MacWT world?
  25. MacWT uses a (hopefully) very intuitive set of movement keys.  They are as follows:
  26. Forward - 8 or Up Arrow
  27. Back - 2 or Down Arrow
  28. Turn Left - 4 or Left Arrow
  29. Turn Right - 6 or Right Arrow
  30. Jump - Space Bar
  31. Accelerate Movement - Shift key
  32. Slide Sideways - Control + {Turn Right or Turn Left}
  33. Peek Left - w
  34. Peek Behind - e
  35. Peek Right - r
  36. Action Key - t   (Defined for future use - right now it's just set to jump)
  37. Toggle between mouse/keyboard control - y
  38. Pause - Tab key
  39. Quit - Escape key
  40.  
  41. Selecting "New Game" from the file menu or pressing either forward key starts the simulation.
  42.  
  43. Where can I find the latest version?
  44. You can always find the up-to-the-day latest version of MacWT and its source via anonymous FTP from:
  45. <ftp.circa.ufl.edu/pub/software/ufmug/mirrors/LocalSW/Hayden/>
  46.  
  47. or on the web at:
  48. <http://grove.ufl.edu:80/~nikolsw>
  49.  
  50. This web address may no longer be valid starting in 1996.  Don't worry, though, as you can also find MacWT updates on America On-Line and the common internet sites, such as UMich and Info-Mac.  If you are doing serious MacWT work, feel free to get in touch with me personally at <afn28988@freenet.ufl.edu> or at the address listed below.
  51.  
  52. Sites:
  53. <ftp://ftp.circa.ufl.edu/pub/software/ufmug/mirrors/LocalSW/Hayden>
  54. <http://grove.ufl.edu:80/~nikolsw>
  55.  
  56. What is the version history?
  57. New Features in 0.9:
  58. • Basic 16-bit color support! Finally!  Many thanks to Jim Dinunzio for tracking down my one omission to his corrections which made this work.  The total difference between 0.8.9.1 and 0.9 which fixed the problem was exactly 2 new bytes of code…
  59. • I am now including old (unsupported) versions of the project files for those still using CodeWarrior 5 and 6 who are eager to take a stab at the code.  You can find them in the (Other Files) folder.
  60. • Increased the preferred memory partition to handle 16-bit rendering comfortably.
  61.  
  62. New Features in 0.8.9.1:
  63. • The collision detection routines no longer have serious problems with positive corners.  At present, you cannot slide around corners in the same smooth way that you can slide along walls, but the current workaround is a big improvement visually and functionally.  I also fixed a few other latent bugs in the collision detection algorithms.
  64. • Cleaned up the source to compile using the Copland-compatibility macros and the new-style Toolbox naming conventions.  The project now sports a .pch file which constructs a custom, target-specific precompiled header on the fly.  STRICT_WINDOWS is not on yet, but everything else is.
  65. • Sorry about the crazy version number, but 0.9 is reserved for the long-awaited (and hopefully soon-to-arrive) 16-bit support. :-)
  66.  
  67. New Features in 0.8.9:
  68. • This version is a small, incremental fix from 0.8.8 mainly to get the latest source code into the hands of developers - there is very little change for the end user.
  69. • Incorporated almost all of Jim Dinunzio's numerous improvements to allow 16-bit color rendering.  Unfortunately, although we are tantalizingly close, it still only works correctly in 8-bit color.  His version does indeed work, so I'm still looking for what I missed the first time around.
  70. • Special thanks to Steve Sisak for recently providing me with a convenient method for people to get me their MacWT updates and improvements.  See the bottom of this document for info on where to send improvements.  Without this, Jim Dinunzio would never have been able to even get his improvements to me!
  71.  
  72. New Features in 0.8.8:
  73. • Revised the UI to act more like a game or presentation system
  74. • Finally alleviated the need for the PICT loading window, thanks to Edan Shalev
  75. • Fixed crashing situation with video cards that can do 24/32-bit color, but not 16-bit color
  76.  
  77. New Features in 0.86:
  78. • FPU requirement has been lifted (it was adding only about 1-2% to the speed on 68k machines)
  79. • Frame-per-second counter is now 60 times more accurate (I was unknowingly throwing away bits)
  80. • 16-bit color support (currently must be hard-coded as either 8- or 16-bit in the source, though)
  81. • Total clean-up and revamp of the source for future enhancements and modifications
  82. • Source now compiles under C or C++
  83. • Animated sprite-based objects! (not all the kinks out of 'em yet, but hey, this is a BIG deal!)
  84. • New Peek Feature (via the w, e, & r keys - see 'How do I move around?' above)
  85. • Fixed a bug in the initialization code that was showing up only on IIsi's
  86. • Background music (You can add/change the music if you have PlayerPro 4.x - it’s 'MADF' Resource #1000)
  87. • 'Quit' menu item now quits if selected before actually starting the simulation
  88. • Removed annoying vertical white line at right of the view
  89. • Paused look has been changed to _truly_ resemble games such as Marathon and Pathways into Darkness
  90. • MacWT now registers its name on the network with NBP (for future network play usage)
  91. • Added option to draw two-tone background instead of floors and ceilings, to provide a speed boost
  92.  
  93. New Features in 0.77:
  94. • Another interim release to fix a nasty bug which crashed MacWT if you started the game with the 'New Game' menu item instead of just hitting one of the forward keys.
  95. • Removed .ppm texture support. (the routines were buggy and of little use on the Mac anyway)
  96. • Updated 68k fixed-point math routines, giving 1% improvement on 68k machines. (every little bit helps!)
  97. • Minor internal modifications moving toward 16-bit color capability.
  98.  
  99. New Features in 0.76:
  100. • Interim release to fix source code problem. (I included the 0.60 resource file with the 0.70 source release)
  101. • Direct blitting code added.
  102. • Minor internal fixes.
  103. • PICT & PICT-R loading code finished & operational, but it still pops up an unsightly loading window.
  104.  
  105. New Features in 0.70:
  106. • Wall collision detection, with near-zero reduction in rendering speed!
  107. • Introduction of an editable physics model, contained in the 'Phys' resource #128 inside MacWT.
  108. • Internal changes and clean-up to make way for future enhancements.
  109. • Fixed a bug which crashed MacWT when you quit with cmd-Q after loading was done but before starting a game.
  110. • MacWT now displays the simulation centered, with a black background.
  111. • Window zooming functionality has been removed.
  112. • Paused look has been changed to resemble games such as Marathon and Pathways into Darkness.
  113. • Pressing the option key during application start-up quits all other applications, providing a slight speed boost.
  114.  
  115. New Features in 0.60:
  116. • Floor and ceiling collision detection - you can now climb stairs, hit your head on the ceiling, etc.
  117. • World edge collision detection - no more falling off the edge of the world
  118. • Movement via the mouse (y key toggles mouse/keyboard control)
  119. • Mouse control accelerates rendering by as much as 8% by bypassing the main event loop
  120. • Escape key quits MacWT
  121. • The control key is now the only strafe key - I removed the rarely (never?) used / key from this functionality.
  122.  
  123. New features in 0.05b+:
  124. • The view size can be selected (this is not a scaled view, but a true view size setting).
  125. • The concept of a "default file" has been removed.  MacWT now prompts the user for a world file on application startup if one was not opened from the Finder.
  126. • World files can now be double-clicked or drag-opened from the Finder to be opened in MacWT, since world files are now MacWT documents with their own icons. (Creator McWt and Type TEXT)
  127. • MacWT now uses the Macintosh's standard 256 color palette instead of loading a 192 color PC palette.  MacWT loads faster and renders much cleaner and better now.
  128. • MacWT now displays a much more accurate frame-per-second counter.
  129. • MacWT now automatically switches to 8-bit color on start-up, and switches back to the previous bit depth on exit.  This is temporary, of course, until 16-bit support is added.
  130. • MacWT now checks for the existence of an FPU on 680x0 machines, and quits if one is not available.
  131. • Mr. O'Connor's direct screen writing code has been removed.  It was becoming a heavy restriction to the improvement of MacWT and it offered little or no speed improvement.  I will add some new direct-screen writing code when I find/write some.
  132. • All of Chris Laurel's innumerable wt improvements from 0.04a to 0.05c1, including rendering speed-ups, rendering glitch fixes, fixed-point speed-ups, partial 16-bit color support, support for standard texture file formats such as GIF, object gravity and physics, and many more.
  133.  
  134. What kind of performance can I expect?
  135. Using the two example files that come with MacWT, here are some benchmarks I obtained at the standard view size (320 x 200) in 8-bit mode:
  136. On a 50MHz IIci, "Small" averaged about 4.9 frames per second.
  137. On a 50MHz IIci, "Huge" averaged about 2.3 frames per second.
  138. On a 66MHz 7100/66, "Small" averaged about 34 frames per second. (39 fps with MathLib 2.0.x)
  139. On a 66MHz 7100/66, "Huge" averaged about 21 frames per second. (26 fps with MathLib 2.0.x)
  140.  
  141. Incredibly, but perhaps not surprisingly, the additon of the new native MathLib on PowerMacs instantly improves performance by almost 15%, as shown in parentheses.  The new MathLib comes with CodeWarrior and System 7.5.1.  System 7.5.3 offers another 2-4% improvement on PowerMacs.  Use the latest Developer updates if you have them!
  142.  
  143. On a 80MHz 7100/80, "small.world" averaged about 15.2 fps at the largest view size (480 x 300), under System 7.5.3a1.
  144.  
  145. No, I meant how fast can it go?
  146. On a 80MHz 7100/80, "Open Field" can achieve over 71 fps at the (240 x 150) view size with floor/ceiling rendering off (62 fps with it on), under System 7.5.3a1.  Fast enough for ya?  Imagine a PowerMac 9500/132...  Pentium users: Chew on that figure for awhile, and don't forget that collision detection, floors & ceilings, and animated sprite objects are fully active for that figure, so let's not compare Apples and oranges (or was it lemons?).  Gee, can you guess my stance on pee-cee's?
  147.  
  148. What are the known bugs?
  149. The rendering engine still contains a few gliches left over from its wt days:
  150. 1. Ceilings are occasionally clipped when looking through a "hole" in a wall.
  151. 2. You can jump or move while in mid-air.  (But hey, you can do this in Marathon too)
  152.  
  153. Plus, some new and imporved bugs have popped up:
  154. 3. The mysterious Type 11 errors that have been that have been the bane of PowerPC native programs are popping up rarely in MacWT too.
  155.  
  156. What is the future of MacWT?
  157. My next goal is to beef-up the object support, making it easier to create, move, and destroy animated objects.  After this comes object collision detection.  I've finished everything I set forth in this area previously, so any comments or suggestions would be welcome.  Aside from fixing the above bugs, the overall goal of the current MacWT project is to create a plug-n-play MacWT API that programmers can use to easily create and use MacWT real-time 3-D technology.  This requires separating the MacWT code from all generic application code once all the internal work is finished, which can be tricky in several spots.
  158.  
  159. I will attempt to keep MacWT at a level where developers can use it right away.  I was thinking of adding asyncronous sound routines, speech, etc., but on second thought, I realized that I never wanted to reach a point with MacWT where developers had to spend time taking something out to use it like they wanted to.  It's daunting enough as it is - I don't want to add unneeded complexity.
  160.  
  161. If you have any comments or suggestions about MacWT (or anything else, for that matter) drop me a line anytime.
  162.  
  163. Snail Mail:
  164. Nikol Software
  165. c/o William Hayden
  166. 1325 NE 9th Street
  167. Gainesville, FL  32601-3720
  168.  
  169. Internet:
  170. <afn28988@freenet.ufl.edu>
  171.  
  172. Anonymous FTP:
  173. ftp.circa.ufl.edu/pub/software/ufmug/mirrors/LocalSW/Hayden/
  174.  
  175. E-mail drop box for MacWT additions and improvements:
  176. send to <nikol@codewell.com> as an e-mail attachment
  177. Please also send a notice to afn28988@freenet.ufl.edu to let me know that something is waiting for me at codewell.com. Otherwise, I almost never check it.
  178.  
  179. WWW:
  180. http://grove.ufl.edu:80/~nikolsw
  181.  
  182. Home Phone:
  183. (904) 378-2938
  184. Please be aware that I will not accept collect calls.
  185. The area code will be changing in December 1995 - I think it will be 352, but you can check in your phone book.
  186. All my internet addresses AND my home address AND phone number will be changing in early 1996, so check my homepage for information about new contact addresses and numbers.